package net.qiqbframework.modelling.domain;

import java.lang.annotation.*;

/**
 * 聚合根实体
 */
@Documented
@Target({ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface AggregateRoot {

    /**
     * 聚合名称。默认是被标注的类的简单名称（class   name）。需唯一
     *
     * @return 聚合名称
     */
    String name() default "";

    /**
     * 对外聚合名称。一般用于国际化翻译，日志打印。无需唯一。默认同 naming。
     *
     * @return 外部的聚合名称
     */
    String labelName() default "";

}
